package com.ms.game.slot.base;

import java.util.Collection;

import com.ms.game.gmtool.message.SGmtoolServerShutdownCountdownNotify;
import com.ms.game.slot.base.message.CSlotCommonDmSetRecvSeatUpdatePageRequest;
import com.xpec.c4.service.module.BasicServiceModule;

public interface IDoorManSeatUpdateBroadcaster {
	/**
	 * 取得廣播座位狀態資料時需要傳送的消息結構
	 * 
	 * @param messageType
	 * @param dataList
	 * @return
	 */
	public <T> Object getSeatUpdateMessageInstance(int messageType, Collection<T> dataList);
	
	/**
	 * client 指定要收哪一頁的座位更新資訊
	 */
	public void revSetRecvSeatUpdatePageRequest(CSlotCommonDmSetRecvSeatUpdatePageRequest request);
	
	/**
	 * 提供module供DMAsyncHsitoryManger運用
	 */
	public void setDMAsyncHsitoryMangerOwnModule(BasicServiceModule ownModule);
	
	/**
	 * 單一伺服器維護，告訴在機台列表的人，要倒數計時
	 */
	public void onRecvServerShutdownCountdownNotify(SGmtoolServerShutdownCountdownNotify notify);
		
	/**
	 * 單一伺服器維護，踢掉在機台列表的人
	 */
	public void onRecvKickAllConnectionNotify();
	
}
